package cn.wolfcode.trip.base.mapper;

import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.StrategyCatalogQueryObject;
import cn.wolfcode.trip.base.query.TravelQueryObject;

import java.util.List;

public interface TravelMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Travel record);

    Travel selectByPrimaryKey(Long id);

    List<Travel> selectAll(TravelQueryObject qo);

    int updateByPrimaryKey(Travel record);

    List<Travel> selectForList(TravelQueryObject qo);

    void updateState(Travel travel);

    List<Travel> selectTravelByStrategyId(StrategyCatalogQueryObject qo);

    void deleteTravelId(Long travelId);

    void saveStrategyAndTravel(Long strategyId, Long travelId);

    List<Travel> selectAllReaseTravel();

    Long getTravelsNum(QueryObject qo);

    int getAmount(Long userId);

    List<Travel> selectAllByKeyWord(String keyWord);
}